home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48hor2 / mkromx.dir < prev    next >
File List  |  1993-02-18  |  3KB  |  198 lines

  1. %%HP: T(3)A(D)F(.);
  2. DIR
  3.   MkROM
  4. "(MkROM)
  5.  
  6. LIBRARY 702
  7.  
  8. xEXTERNAL b
  9. xEXTERNAL p
  10. xEXTERNAL n
  11.  
  12. EXTERNAL  ParseHxs
  13.  
  14. INCLUDE DEFS
  15.  
  16. xCONFIG
  17. INCLUDE Config
  18.  
  19. NIBB 1 1
  20. xNAME b
  21. INCLUDE PBint
  22.  
  23. NIBB 1 1
  24. xNAME p
  25. INCLUDE PPtr
  26.  
  27. NIBB 1 1
  28. xNAME n
  29. INCLUDE PName
  30.  
  31. NULLNAME ParseHxs
  32. INCLUDE PHxs
  33.  
  34. ENDLIB"
  35.   Config
  36. "(Config)
  37. :: DOBINT xxROMID
  38.    TOSRRP
  39. ;"
  40.   PBint
  41. "(PBint)
  42. :: CK0
  43. ;
  44.  
  45. (Macro Parser)
  46. ::
  47.  CODE
  48.   LC(3)  NOP8MASK20
  49.   GOVLNG SetISysFlag
  50.  ENDCODE
  51.  COLA ParseHxs
  52. ;"
  53.   PPtr
  54. "(PPtr)
  55. :: CK0
  56. ;
  57.  
  58. (Macro Parser)
  59. ::
  60.  CODE
  61.   LC(3)  NOP8MASK20
  62.   GOVLNG ClrISysFlag
  63.  ENDCODE
  64.  COLA ParseHxs
  65. ;"
  66.   PName
  67. "(PName)
  68. :: CK0
  69. ;
  70.  
  71. (Macro Parser)
  72. ::
  73.  nultrior failed
  74.  DUP
  75.  ' ROMPTR 4D2 D (E\<-\->A)
  76.  ROMPTR@ NOTcasedrop failed
  77.  
  78.  ERRSET
  79.   EvalNoCK
  80.  ERRTRAP
  81.  :: RDROP DROP
  82.     failed
  83.  ;
  84.  
  85.  CODE
  86.   C=DAT1 A  ->hxs
  87.   CD0EX
  88.   D0=D0+ 10 ->body
  89.   A=DAT0 A  val
  90.   D0=C
  91.   DAT1=A A  ovwr hxs with val
  92.   LOOP
  93.  ENDCODE
  94.  
  95.  apndit
  96.  DROP GetNextToken
  97.  TrueTrue
  98. ;"
  99.   PHxs
  100. "(PHxs)
  101. ::
  102.  BitstreamTTT swapoutTTT
  103.  nultrior failed
  104.  
  105.  DUP
  106.  
  107.  CODE
  108.   GOSBVL =SAVPTR
  109.   D0=(5) SysNib20
  110.   C=ST
  111.   C=DAT0 1
  112.   ST=C
  113.   C=DAT1 A
  114.   D0=C            ->$
  115.   D0=D0+ 5        ->len
  116.   A=DAT0 A        len
  117.   A=A-CON A,5     len(n)
  118.   LC(5)  10
  119.   ?A>C   A        len($) > 5 ?
  120.   GOYES  snInv$
  121.   D0=D0+ 5        ->body
  122.   D1=A            cnt
  123.   D1=D1- 2        --cnt
  124.   A=0    A
  125.   LC(2)  #30
  126.   D=C    B        '0'
  127.   GONC   snEntry   BET
  128.  
  129. snInv$
  130.   GOVLNG GPPushFalse
  131.  
  132. snLoop
  133.   ASL    A        #<<4
  134.   D0=D0+ 2        ->nxt
  135.  
  136. snEntry
  137.   C=DAT0 B        chr
  138.  
  139.   C=C-D  B        chr-'0'
  140.   GOC    snInv$   < '0'
  141.  
  142.   B=C    B        chr-'0'
  143.   LC(2)  10
  144.   ?B<C   B
  145.   GOYES  snNoSub  <= 9
  146.  
  147.   LC(1)  7
  148.   B=B-C  B        chr-'7'
  149.  
  150.   LC(1)  #A
  151.   ?B<C   B
  152.   GOYES  snInv$   < A
  153.   LC(1)  #F
  154.   ?B>C   B
  155.   GOYES  snInv$   > F
  156.  
  157. snNoSub
  158.   A=A!B  B
  159.   D1=D1- 2
  160.   GONC   snLoop
  161.  
  162.   GOSBVL =GETPTR
  163.  
  164.   ?ST=1  fBint
  165.   GOYES  DrpPsh#
  166.   DAT1=A A        Ovwr $
  167.   GONC   PshTLp   BET
  168.  
  169. DrpPsh#
  170.   R0=A            For PUSH#
  171.   GOSBVL =PopSavptr Drop $, RPL ptr in RAM
  172.   GOSBVL =PUSH#
  173. PshTLp
  174.   GOVLNG =PushTLoop
  175.  ENDCODE
  176.  
  177.  NOTcasedrop failed
  178.  apndit
  179.  PalTTT swapinTTT
  180.  TrueTrue
  181. ;"
  182.   DEFS
  183. "ASSEMBLE
  184. xxROMID      EQU #702
  185. BitstreamTTT EQU #25E44
  186. GPPushFalse  EQU #370A
  187. PalTTT       EQU #25D3A
  188. apndit       EQU #251EC
  189. swapinTTT    EQU #25AB6
  190. swapoutTTT   EQU #25AD4
  191. SetISysFlag  EQU #539F9
  192. ClrISysFlag  EQU #539F1
  193. SysNib20     EQU #70696
  194. NOP8MASK20   EQU #896
  195. fBint        EQU 3
  196. RPL"
  197. END
  198.